// import { useRef } from 'react';
// const timer = useRef<NodeJS.Timeout | null>(null);
// /**
//  *  防抖
//  * @param fn
//  * @param ms 连续点击的时间间隔
//  * @returns
//  */
// export const debounce = (fn: (...args: any[]) => void, ms: number) => {
//   return function (...args: any[]) {
//     if (timer.current) {
//       clearTimeout(timer.current);
//       timer.current = null;
//     }
//     timer.current = setTimeout(() => {
//       fn(...args);
//     }, ms);
//   };
// };

// debounce(() => {}, 400)()

// utils.ts

export function debounce(func: Function, delay: number): Function {
  let timeoutId: ReturnType<typeof setTimeout>;

  return function (...args: any[]) {
    clearTimeout(timeoutId);
    timeoutId = setTimeout(() => {
      func.apply(null, args);
    }, delay);
  };
}
